/*
 * @Author: ellery
 * @Date: 2022-08-21 18:41:28
 * @LastEditTime: 2022-08-21 18:55:10
 * @LastEditors: ellery
 * @Description: 缓存记录区
 * @FilePath: \vue2-eslint-model\src\common\storage.js
 * Copyright (c) 2022 by ellery, All Rights Reserved.
 * 愿天堂没代码
 */
/**
 * 本地同步存/取数据，NAME存放缓存键值对,键值名请以大写+下划线的命名方式，且写注释;
 */
const NAME = {
  1: "TOKEN" // 用户信息，里有token记录
  //   // 2: "NETWORK", // 当前是否在网络异常页面
  //   3: "VERCODE_INFO", // 验证码等信息
};
/**
 * @param {String} type 存储/取/删 类型
 * @param {Number} i 对应 NAME 的键值对
 * @param {Array/Object} data 数据
 */
const storage = function(type, i, data) {
  switch (type) {
    case "sss":
      localStorage.setItem(NAME[i], JSON.stringify(data)); // 存储数据
      break;
    case "gss":
      return JSON.parse(localStorage.getItem(NAME[i])); // 读取数据
    case "rss":
      localStorage.removeItem(NAME[i]); // 移除存储
      break;
    case "clear":
      localStorage.clear(); // 全部移除存储，慎用!
      break;
    default:
      break;
  }
};
export default storage;
